<?php


namespace Part20_IteratorMode\Code1;

/**
 * 迭代器抽象类
 */
abstract class Iterator
{
    /**
     * 得到开始对象
     * @return object
     */
    public abstract function first();

    /**
     * 得到下一个对象
     * @return object
     */
    public abstract function next();

    /**
     * 判断是否到结尾
     * @return bool
     */
    public abstract function isDone();

    /**
     * 得到当前对象
     * @return object
     */
    public abstract function currentItem();
}